/*******************************************************************************
 * Copyright (c) 2025-08-08 @author <a href="mailto:iffiff1@gmail.com">Tyler Chen</a>.
 * All rights reserved.
 *
 * Contributors:
 *     <a href="mailto:iffiff1@gmail.com">Tyler Chen</a> - initial API and implementation.
 ******************************************************************************/
package org.iff.util.llm.glm;

/**
 * Models
 *
 * @author <a href="mailto:iffiff1@gmail.com">Tyler Chen</a>
 * @since 2025-08-08
 */
public enum Models {
    GLM_4_5("glm-4.5", true, true),
    GLM_4_5_AIR("glm-4.5-air", true, true),
    GLM_4_5_X("glm-4.5-x", true, true),
    GLM_4_5_AIRX("glm-4.5-airx", true, true),
    GLM_4_5_FLASH("glm-4.5-flash", true, true),
    GLM_4_PLUS("glm-4-plus", true, true),
    GLM_4_AIR_250414("glm-4-air-250414", true, true),
    GLM_4_AIRX("glm-4-airx", true, true),
    GLM_4_FLASHX("glm-4-flashx", true, true),
    GLM_4_FLASHX_250414("glm-4-flashx-250414", true, true),
    GLM_Z1_AIR("glm-z1-air", true, true),
    GLM_Z1_AIRX("glm-z1-airx", true, true),
    GLM_Z1_FLASH("glm-z1-flash", true, true),
    GLM_Z1_FLASHX("glm-z1-flashx", true, true),
    GLM_4V_PLUS_0111("glm-4v-plus-0111", true, true),
    GLM_4V_FLASH("glm-4v-flash", true, true),
    GLM_4_1V_THINKING_FLASHX("glm-4.1v-thinking-flashx", true, true),
    GLM_4_1V_THINKING_FLASH("glm-4.1v-thinking-flash", true, true),
    ;
    public final String model;
    public final boolean stream;
    public final boolean think;

    Models(String model, boolean stream, boolean think) {
        this.model = model;
        this.stream = stream;
        this.think = think;
    }
}
